package com.blumov.fastbox.compra;

import java.util.ArrayList;
import java.util.List;

import com.blumov.fastbox.domain.model.compra.Bandeja;
import com.blumov.fastbox.domain.model.compra.ItemPedido;
import com.blumov.fastbox.domain.model.compra.Pedido;

public class BuildPedidoDTO {

	public BuildPedidoDTO() {
		
	}
	
	/**
	 * FIXME: Se pasan las bandejas por un tema con el lazy de Hibernate; corregir!
	 */
	public PedidoDTO crearPedidoDTO(Pedido pedido, List<Bandeja> bandejas) {
		PedidoDTO pedidoDTO = new PedidoDTO();
		List<BandejaDTO> bandejasDTO = new ArrayList<BandejaDTO>();
	
		
		for (Bandeja bandeja : bandejas) {
			BandejaDTO band = new BandejaDTO();
			for (ItemPedido item : bandeja.getItems()) {
				band.addItem(new ItemPedidoDTO(item.getProducto().getCodigo()));
			}
			bandejasDTO.add(band);
		}
		
		pedidoDTO.setBandejas(bandejasDTO);
		pedidoDTO.setNumero(pedido.pedidoId().idString());
		pedidoDTO.setPrecio(pedido.precio().intValue());
		
		return pedidoDTO;
	}
}
